home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cit.arc / LIBLOG.C < prev    next >
C/C++ Source or Header  |  1985-11-15  |  2KB  |  74 lines

  1. /************************************************************************/
  2. /*                liblog.c                */
  3. /*                                    */
  4. /*            Citadel log code for the library            */
  5. /************************************************************************/
  6.  
  7. /************************************************************************/
  8. /*                history                 */
  9. /*                                    */
  10. /* 85Nov15 HAW    File created.                        */
  11. /************************************************************************/
  12.  
  13. /************************************************************************/
  14. /*                contents                */
  15. /*                                    */
  16. /*    getLog()        loads requested CTDLLOG record        */
  17. /*    putLog()        stores a logBuffer into citadel.log    */
  18. /************************************************************************/
  19.  
  20. #include "ctdl.h"
  21.  
  22. struct logBuffer logBuf;        /* Log buffer of a person    */
  23. int         thisLog;        /* entry currently in logBuf    */
  24. FILE         *logfl;        /* log file descriptor        */
  25.  
  26. extern struct config cfg;        /* Configuration variables    */
  27.  
  28. /************************************************************************/
  29. /*    getLog() loads requested log record into RAM buffer        */
  30. /************************************************************************/
  31. getLog(lBuf, n)
  32. struct logBuffer *lBuf;
  33. int         n;
  34. {
  35.     long int s, r;
  36.  
  37.     if (lBuf == &logBuf)   thisLog    = n;
  38.  
  39.     r = sizeof logBuf;            /* To get away from overflows    */
  40.     s = n * r;                /* This should be offset    */
  41.     n *= 3;
  42.  
  43.     if (cfg.weAre != CONFIGUR)
  44.     fseek(logfl, s, 0);
  45.     if (fread(lBuf, sizeof logBuf, 1, logfl) != 1) {
  46.     crashout("?getLog-read fail//EOF detected!");
  47.     }
  48.  
  49.     crypte(lBuf, sizeof logBuf, n);    /* decode buffer        */
  50. }
  51.  
  52. /************************************************************************/
  53. /*    putLog() stores given log record into ctdllog.sys        */
  54. /************************************************************************/
  55. putLog(lBuf, n)
  56. struct logBuffer *lBuf;
  57. int         n;
  58. {
  59.     long int s, r;
  60.  
  61.     r = sizeof logBuf;
  62.     s = n * r;
  63.     n    *= 3;
  64.     crypte(lBuf, sizeof logBuf, n);        /* encode buffer    */
  65.  
  66.     if (cfg.weAre != CONFIGUR)          /* No need if configuring     */
  67.     fseek(logfl, s, 0);
  68.     if (fwrite(lBuf, sizeof logBuf, 1, logfl) != 1) {
  69.     crashout("?putLog-write fail");
  70.     }
  71.  
  72.    crypte(lBuf, sizeof logBuf, n);          /* decode buffer           */
  73. }
  74.